<template>
  <el-cascader filterable :options="optionsData" :size="size" v-bind="$attrs" v-on="$listeners" clearable></el-cascader>
</template>

<script>
  export default {
    name: "my-cascader",
    props:{
      /** 如果使用api查询,传入url **/
      url: {
        type: String
      },
      /** 如果不使用api查询,可以在此参数直接传入option数组 **/
      options: {
        type: Array,
        default: ()=>{
          return []
        }
      },
      /** 默认大小mini **/
      size:{
        type: String,
        default: 'mini'
      }
    },
    data(){
      return{
        optionsData: []
      }
    },
    created() {
      /*
      * 判断字典名称是否为空  为空使用options作为数据源， 不为空按url查询数据作为数据源
      * **/
      if(this.url == null || this.url.trim() == ''){
        this.optionsData = this.options;
      }else{
        this.$ajax.requestCommonGet(this.url).then(res=>{
          this.optionsData = res;
        });
      }
    }
  }
</script>

<style scoped>

</style>
